package com.mi.common.log.event;

import lombok.Getter;
import lombok.Setter;
import org.springframework.context.ApplicationEvent;

/**
 * Log event
 *
 * @author jin_huaquan
 * @version 1.0
 * @date 2021/11/1 10:05
 */
public class LogEvent extends ApplicationEvent {

    public LogEvent(Log source) {
        super(source);
    }

    @Getter
    @Setter
    public static class Log {

        /**
         * 账号
         */
        private String username;

        /**
         * 日志类型（0-正常,9-错误）
         */
        private Integer type;

        /**
         * 日志标题
         */
        private String title;

        /**
         * 操作IP地址
         */
        private String remoteAddr;

        /**
         * 浏览器类型
         */
        private String userAgent;

        /**
         * 请求URI
         */
        private String requestUri;

        /**
         * 操作方式
         */
        private String httpMethod;

        /**
         * 类方法
         */
        private String classMethod;

        /**
         * 请求参数
         */
        private String params;

        /**
         * 执行时长
         */
        private Long executionTime;

        /**
         * 异常堆栈
         */
        private String exception;

        /**
         * 业务服务ID
         */
        private String serviceId;
    }
}
